package com.cheng.operation;

import com.cheng.common.exception.CommonException;
import com.cheng.data.vo.BorrowInfoVO;
import com.cheng.data.vo.NoticeVO;
import com.cheng.data.vo.ReqPageInfoVO;
import com.cheng.data.vo.RespPageInfoVO;

import java.util.List;
import java.util.Map;

/**
 * @author: ChengJW
 * @date: 2021/12/20 20:16
 * @version: 1.0
 * @description: 借阅信息处理类
 */
public interface BorrowOperation {

    /**
     * @author: ChengJW
     * @params: [entity]
     * @return: void
     * @date: 2021/12/20
     * @description: 新增借阅信息
     */
    void insertBorrowInfo(BorrowInfoVO borrowInfoVO) throws CommonException;

    /**
     * @author: ChengJW
     * @params: [map]
     * @return: java.util.List<com.cheng.data.vo.BorrowInfoVO>
     * @date: 2021/12/20
     * @description: 查询待归还的借阅信息
     */
    RespPageInfoVO queryBorrowInfoList(ReqPageInfoVO pageInfoVO) throws CommonException;

    /**
    * @author: ChengJW
    * @params: [bwBussList,userNm]
    * @return: void
    * @date: 2021/12/20
    * @description: 修改借阅信息
    */
    void updateBorrowInfo(List<String> bwBussList,String userNm) throws CommonException;

    /**
    * @author: ChengJW
    * @params: [vo]
    * @return: com.cheng.data.vo.RespPageInfoVO
    * @date: 2021/12/21
    * @description: 统计借阅信息数据
    */
    RespPageInfoVO queryStatisticsBrowVOList(ReqPageInfoVO vo) throws CommonException;

    /**
    * @author: ChengJW
    * @params: [urNm]
    * @return: com.cheng.data.vo.NoticeVO
    * @date: 2021/12/21
    * @description: 查询用户名下待归还企业信息
    */
    NoticeVO queryBorrowInfoNoticeVO(String urNm) throws CommonException;
}
